package globals

import (
	_ "embed"
	"path/filepath"
	"time"
)

const (
	// 数据库文件名
	DBFileName = "uni-core.db3"
	// 数据目录名
	DBDirName = "data"
	// 日志目录名
	LogDirName = "logs"
	// 日志文件名
	LogFileName = "app.log"
	// 导出加密数据的前缀
	ExportDataPrefix = "(ENC)"
)

var (
	// 数据库文件路径
	DBFilePath = filepath.Join(DBDirName, DBFileName)
)

//go:embed sql/init.sql
var InitSQL string // 初始化 SQL 语句

// 用于存储密码数据的结构体
type PswdData struct {
	ID          int       `db:"id" csv:"-" json:"-"`                              // 主键ID
	Title       string    `db:"title" csv:"title" json:"title"`                   // 标题
	Username    string    `db:"username" csv:"username" json:"username"`          // 用户名
	Password    string    `db:"password" csv:"password" json:"password"`          // 密码
	Link        string    `db:"link" csv:"link" json:"link"`                      // 链接
	Description string    `db:"description" csv:"description" json:"description"` // 描述
	CreatedAt   time.Time `db:"created_at" csv:"-" json:"-"`                      // 创建时间
	UpdatedAt   time.Time `db:"updated_at" csv:"-" json:"-"`                      // 更新时间
}

// 用于存储多个密码数据的切片
type PswdDatas []PswdData

// 嵌入的窗口图标

//go:embed uni-core.png
var UniCoreIcon []byte

// 项目信息常量
const (
	// 项目地址
	ProjectURL = "https://gitee.com/MM-Q/unicore.git"
)

// 默认项目名称
var DefProjectName = "Uni-Core"
